<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>mpt_demo_deployment_onlineMPC</title>
<style type="text/css">
	body {background-color: white; color: black; font-family:sans-serif; font-size:medium;}
	a:link {color: #3300ff;}
	a:visited {color: #663399;}
	a:hover {color:#0099ff;}
	a:active {color: #0066cc;}
	a.button {text-decoration:none;}
	
	table.nav  {background-color: #dbddff;}
	table.body {margin-top:2ex; margin-bottom:2ex;}
	table.programlistingindent {margin-left:32px;}
	
	img { margin-bottom:0px; margin-top:0px;}
	tt {margin-left:0.5em; margin-right:0.5em; font-weight:lighter;}
	
	p {margin-top:0ex;}
	p.synopsis {margin-left:32px;}
	p.programlistingindent {margin-left:32px;}
	p.citetitle {margin-left:2em;}
	
	ul ul {list-style-type:square;}
	ul li p {margin-top:0ex; margin-bottom:.5ex; padding:0}
	ol li p {margin-top:0ex; margin-bottom:.5ex; padding:0}
	
	h1.reftitle {color:#a90000;}
	h1.reftitle {font-size:3.7ex; margin-top:0; margin-bottom:0; font-weight:bold}
	h1.title {color:black; font-size:4ex; margin-top:1ex; font-weight:bold}
	h2.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:3ex}
	h3.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2.5ex}
	h4.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2ex}
	h2 {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2.5ex}
	h3 {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2ex} 
	
	pre.programlisting {margin-left:32px;}
	pre.synopsis {margin-left:32px;}
	
	
	.categorytitle {margin-top:8px; padding-top:0px;}
	.categorylist {background-color: #e1e6f2;}
 	</style>
</head>
<body>
<a name="top_of_page"></a><p style="font-size:1px;"></p>
<h1 class="reftitle">mpt_demo_deployment_onlineMPC</h1>
<h2>Purpose</h2>
<p>Application of online MPC controller with the help of Simulink interface</p>
<h2>Syntax</h2>
<pre class="synopsis">mpt_demo_deployment_onlineMPC</pre>
<h2>Description</h2>
<p></p>
       Demonstration of real-time control using online MPC controller. 
       The demo relies on standalone LCP solver that solves the optimization
       problem given as linear-complementarity problem (LCP). 
       The LCP solver must be present in the installation path including the 
       extended version <b>lcprtw</b> that contains pre-compiled libraries
       for linking with OpenWatcom compiler. The demo has been tested under
       Real-Time Windows target and XPC target on Windows 32-bit platform.<br><br>       
       
      <b>Note that this demo can be compiled and run on Windows 32-bit platform
       for Matlab r2012a!</b>
      <br><br>
        
        Deployment steps:
        <ol>
            
         <li> Generate the online controller that has the desired properties. </li>
            
         <li> Export the online controller to YALMIP using <tt>toYalmip</tt> method of <tt>MPCController</tt> class.</li>
            
         <li> Formulate a parametric optimization problem and specify the feedback variables that are used as parameters.</li>
            
         <li> Create an instance of <tt>Opt</tt> class and transform the optimization problem to LCP using <tt>qp2lcp</tt> method. </li>
            
         <li> Create a Simulink scheme with the S-Function block that links to LCP solver.</li>
            
         <li> In the Simulink scheme, choose code generation options and pick <b>rtwin.tlc</b> as the system target file 
            that corresponds to Real-Time Windows target or <b>xpctarget.tlc</b> for XPC target. </li>
            
         <li> Press "CTRL+B" that executes the code generation and compiles the code. </li>
            
         <li> In the Simulink scheme choose "Simulation-&gt;External" option and press "Connect To Target". </li>
            
         <li> Start the simulation to verify the controller in real-time. </li>
        
      </ol>
        
	
   <h2>See Also</h2>
<a href="./mpt_demo_deployment_explicitmpc.html">mpt_demo_deployment_explicitmpc</a><p></p>
<table class="nav" summary="Navigation aid" border="0" width="100%" cellpadding="0" cellspacing="0"><tr valign="top">
<td align="left" width="20">
<a href="mpt_demo_functions1.html" class="button">&#9664;</a>  </td>
<td align="left">mpt_demo_functions1</td>
<td>  </td>
<td align="right">mpt_demo_deployment_explicitmpctracking</td>
<td align="right" width="20"><a href="mpt_demo_deployment_explicitmpctracking.html" class="button">&#9654;</a></td>
</tr></table>
<br><p>©  <b>2010-2013</b>     Martin Herceg: ETH Zurich,    <a href="mailto:herceg@control.ee.ethz.ch">herceg@control.ee.ethz.ch</a></p>
</body>
</html>
